package cn.study.disruptors.listenerEvent;

import java.util.ArrayList;
import java.util.List;
/**
 * @Author     ：跟大佳一起学架构
 * @Description： 监听器
 */
public class EventSource {
    // 监听器列表
    private List<EventListener> listeners = new ArrayList<>();

    // 方法用于注册监听器
    public void addListener(EventListener listener) {
        listeners.add(listener);
    }

    // 方法用于移除监听器
    public void removeListener(EventListener listener) {
        listeners.remove(listener);
    }

    // 触发事件的方法
    public void publishEvent(Event event) {
        for (EventListener listener : listeners) {
            listener.onEvent(event);
        }
    }
}
